﻿using System;
using Draco.OWF.Metadata.DataBinding;
using Draco.OWF.RT.Engine.Manager;
using Draco.OWF.Metadata;

namespace Draco.OWF.RT.Engine
{
    public interface IEngine:IDisposable
    {
        void init(IEngineConfiguration config);
        WorkflowManager WorkflowManager { get; }
        ActivityManager ActivityManager { get; }
        JobManager JobManager { get; }
        IJob CreateJob(String processId, BindingData Arguments, IJobContext parentContext);
        IJob CreateJob(WorkflowModel process, BindingData startParameters, IJobContext parentContext);
    }
}
